$(document).ready(function() {
    $.ajaxSetup({
        cache: false,
        type: 'POST',
        dataType: 'json',
        error: function() {
            alert('Um erro de comunicação com o servidor ocorreu!');
        }
    });
    $('#btn_novaconexao').click(function() {
        $('#janela-nova-conexao').toggle();
        return false;
    })

    function editaConexao(e) {
        $('#form_conexao #id').val($(e).attr('conexaoid'));
        $('#form_conexao #maquina').val($(e).parent().next().text());
        $('#form_conexao #ip').val($(e).parent().next().next().text());
        $('#form_conexao #porta').val($(e).parent().next().next().next().text());
        $('#form_conexao #usuario').val($(e).parent().next().next().next().next().text());
        $('#form_conexao #senha').val($(e).parent().next().next().next().next().next().text());
        $('#form_conexao #formaacesso').val($(e).parent().next().next().next().next().next().next().text());
        $('#form_conexao #submit_conexao').val('Atualizar');
        $('#janela-nova-conexao').show();
    }

    function removeConexao(e) {
        var id = $(e).attr('conexaoid');
        if (id > 0) {
            $.ajax({
                url: "/clientes/removeconexao",
                processData: false,
                data: 'id=' + id,
                beforeSend: function() {
                    //$('#wait').html('Inserindo módulo...').slideDown('slow');
                },
                success: function(msg) {
                    if (msg.status == false) {
                        alert('Erro removendo conexão com cliente.');
                    }
                    $('#tr_' + id).remove();
                }
            });
        }
    }

    $('#conexoes .btn-i-editar').click(function() {
        editaConexao(this);
        return false;
    });
    $('#conexoes .btn-i-excluir').click(function() {
        removeConexao(this);
        return false;
    });

    $('#submit_conexao').click(function() {
        var id = $('#form_conexao #id').val();
        $.ajax({
            url: "/clientes/criaconexao",
            processData: false,
            data: $('#form_conexao').serialize(),
            beforeSend: function() {
                //var pos = $("#codsis").position();
                //var width = $("#codsis").width();
                //show the menu directly over the placeholder
                //$('#wait').html('Inserindo módulo...').slideDown('slow');
            },
            success: function(msg) {
                //$('#contratados').append('<li>'+msg[0].codsis+'.'+$('#codsis option:selected').text()+' - '+$('#codmod option:selected').text()+' '+
                //		 '<a id="'+msg[0].id+'" class="removivel" href="/clientes/removermodulo">Remover</a></li>');
                if (msg.status == true) {
                    if (id > 0) {
                        $('#conexoes #tr_' + id + ' td').remove();
                        $('#conexoes #tr_' + id)
                                .append($('<td>')
                                .append($('<a>').attr('class', 'btn-i-editar').attr('href', '#')
                                .attr('conexaoid', msg.conexao.id).click(function() {
                            editaConexao(this);
                            return false;
                        }))
                                .append($('<a>').attr('class', 'btn-i-excluir').attr('href', '#')
                                .attr('conexaoid', msg.conexao.id).click(function() {
                            removeConexao(this);
                            return false;
                        }))
                                )
                                .append($('<td>').text(msg.conexao.maquina))
                                .append($('<td>').text(msg.conexao.ip))
                                .append($('<td>').text(msg.conexao.porta))
                                .append($('<td>').text(msg.conexao.usuario))
                                .append($('<td>').text(msg.conexao.senha))
                                .append($('<td>').text(msg.conexao.formaacesso));
                    } else {
                        $('#conexoes tbody')
                                .append($('<tr>').attr('id', 'tr_' + msg.conexao.id)
                                .append($('<td>')
                                .append($('<a>').attr('class', 'btn-i-editar').attr('href', '#')
                                .attr('conexaoid', msg.conexao.id).click(function() {
                            editaConexao(this);
                        }))
                                .append($('<a>').attr('class', 'btn-i-excluir').attr('href', '#')
                                .attr('conexaoid', msg.conexao.id).click(function() {
                            removeConexao(this);
                        }))
                                )
                                .append($('<td>').text(msg.conexao.maquina))
                                .append($('<td>').text(msg.conexao.ip))
                                .append($('<td>').text(msg.conexao.porta))
                                .append($('<td>').text(msg.conexao.usuario))
                                .append($('<td>').text(msg.conexao.senha))
                                .append($('<td>').text(msg.conexao.formaacesso))
                                );
                    }
                    $('#form_conexao #maquina').val('');
                    $('#form_conexao #id').val('');
                    $('#form_conexao #ip').val('');
                    $('#form_conexao #porta').val('');
                    $('#form_conexao #usuario').val('');
                    $('#form_conexao #senha').val('');
                    $('#form_conexao #formaacesso').val('');
                    $('#form_conexao #submit_conexao').val('Criar');
                    $('#janela-nova-conexao').hide();
                } else {
                    alert('O Contato não foi criado!');
                }
                var aux = msg['contratados'];
                var versao = ($('#versao').val() == '') ? 'Nenhuma' : $('#versao').val();
                $('#codmod').val('');
                $('#versao').val('');
                $('#sistemaoperacional').val('Ambos');
                $('#wait').fadeOut('fast');
            }
        });
        return false;
    })
    //$('#atualizafrm').button();
    $('#atualizafrm').click(function() {
        $('#frmcliente').append($('<input>').attr('type', 'hidden').attr('name', 'maquina1').val($('#maquina1').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip1').val($('#ip1').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta1').val($('#porta1').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr1').val($('#usr1').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass1').val($('#pass1').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina2').val($('#maquina2').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip2').val($('#ip2').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta2').val($('#porta2').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr2').val($('#usr2').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass2').val($('#pass2').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina3').val($('#maquina3').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip3').val($('#ip3').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta3').val($('#porta3').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr3').val($('#usr3').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass3').val($('#pass3').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina4').val($('#maquina4').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip4').val($('#ip4').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta4').val($('#porta4').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr4').val($('#usr4').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass4').val($('#pass4').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina5').val($('#maquina5').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip5').val($('#ip5').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta5').val($('#porta5').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr5').val($('#usr5').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass5').val($('#pass5').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina6').val($('#maquina6').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip6').val($('#ip6').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta6').val($('#porta6').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr6').val($('#usr6').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass6').val($('#pass6').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'maquina7').val($('#maquina7').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ip7').val($('#ip7').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'porta7').val($('#porta7').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'usr7').val($('#usr7').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'pass7').val($('#pass7').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'formauso').val($('#formauso').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ipbanco').val($('#ipbanco').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'portabanco').val($('#portabanco').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'ipweb').val($('#ipweb').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'portaweb').val($('#portaweb').val()))
                .append($('<input>').attr('type', 'hidden').attr('name', 'dadostec').val($('#dadostec').val()));
        $('#frmcliente').submit();
    });
    function atualizaVersao(element) {
        var e = $(element);
        var mod = $(e).attr('mod');
        var ver = $(e).html();
        $(e).html(
                $('<input>').attr('size', 10).attr('maxlength', 15).attr('value', ver)
                .change(function() {
            var aux = $(this).val();
            $.ajax({
                url: "/clientes/atualizaversao",
                processData: false,
                data: 'modulo=' + mod + '&versao=' + aux,
                beforeSend: function() {
                    var pos = $("#codsis").position();
                    var width = $("#codsis").width();
                    $('#wait').html('Atualizando Versão...').slideDown();
                },
                success: function(msg) {
                    if (msg == true) {
                        $(e).html(aux);
                    } else {
                        $(e).html(ver);
                    }
                    $('#wait').fadeOut('fast');
                }
            });
        })
                );
    }
    $('.versoes').dblclick(function() {
        atualizaVersao(this);
    });
    $('#criar').click(function() {
        var linux = false;
        var windows = false;
        if ($('#sistemaoperacional').val() == 'Ambos') {
            linux = true;
            windows = true;
        } else if ($('#sistemaoperacional').val() == 'Linux') {
            linux = true;
            windows = false;
        } else if ($('#sistemaoperacional').val() == 'Windows') {
            linux = false;
            windows = true;
        }
        $.ajax({
            url: "/clientes/criamodulo",
            processData: false,
            data: 'sistema=' + $('#codsis').val() + '&cliente=' + $('#id').val() + '&modulo=' + $('#codmod').val() + '&windows=' + windows + '&linux=' + linux + '&versao=' + $('#versao').val(),
            beforeSend: function() {
                var pos = $("#codsis").position();
                var width = $("#codsis").width();
                //show the menu directly over the placeholder
                $('#wait').html('Inserindo módulo...').slideDown();
            },
            success: function(msg) {
                //$('#contratados').append('<li>'+msg[0].codsis+'.'+$('#codsis option:selected').text()+' - '+$('#codmod option:selected').text()+' '+
                //		 '<a id="'+msg[0].id+'" class="removivel" href="/clientes/removermodulo">Remover</a></li>');
                var aux = msg['contratados'];
                var versao = ($('#versao').val() == '') ? 'Nenhuma' : $('#versao').val();
                if ($('#sistemaoperacional').val() == 'Ambos') {
                    $('#_contratados')
                            .append($('<span>').attr('class', 'span-25 last').attr('id', 'span_' + aux[0].id)
                            .append($('<span>').attr('class', 'span-7').text($('#codsis option:selected').text()))
                            .append($('<span>').attr('class', 'span-5').text($('#codmod option:selected').text()))
                            .append($('<span>').attr('class', 'span-3').attr('style', 'text-align: center;').text(versao).attr('id', 'ver_' + aux[0].id).attr('mod', aux[0].id))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', true)))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', true)))
                            .append($('<a>').attr('class', 'removivel').text('Remover').attr('href', '#').attr('id', aux[0].id).click(function() {
                        remove(this);
                        return false;
                    }))
                            );
                } else if ($('#sistemaoperacional').val() == 'Linux') {
                    $('#_contratados')
                            .append($('<span>').attr('class', 'span-25 last').attr('id', 'span_' + aux[0].id)
                            .append($('<span>').attr('class', 'span-7').text($('#codsis option:selected').text()))
                            .append($('<span>').attr('class', 'span-5').text($('#codmod option:selected').text()))
                            .append($('<span>').attr('class', 'span-3').attr('style', 'text-align: center;').text(versao).attr('id', 'ver_' + aux[0].id).attr('mod', aux[0].id))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', true)))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', false)))
                            .append($('<a>').attr('class', 'removivel').text('Remover').attr('href', '#').attr('id', aux[0].id).click(function() {
                        remove(this);
                        return false;
                    }))
                            );
                } else if ($('#sistemaoperacional').val() == 'Windows') {
                    $('#_contratados')
                            .append($('<span>').attr('class', 'span-25 last').attr('id', 'span_' + aux[0].id)
                            .append($('<span>').attr('class', 'span-7').text($('#codsis option:selected').text()))
                            .append($('<span>').attr('class', 'span-5').text($('#codmod option:selected').text()))
                            .append($('<span>').attr('class', 'span-3').text(versao).attr('id', 'ver_' + aux[0].id).attr('mod', aux[0].id))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', false)))
                            .append($('<span>').attr('class', 'span-2').attr('style', 'text-align: center;').append($('<input>').attr('type', 'checkbox').attr('checked', true)))
                            .append($('<a>').attr('class', 'removivel').text('Remover').attr('href', '#').attr('id', aux[0].id).click(function() {
                        remove(this);
                        return false;
                    }))
                            );
                }
                $('#codmod option:selected').remove();
                $('#codmod').val('');
                $('#versao').val('');
                $('#sistemaoperacional').val('Ambos');
                $('#wait').fadeOut('fast');
            }
        });

        return false;
    });
    function remove(element) {
        var e = $(element);
        var id = e.attr('id');
        $.ajax({
            url: "/clientes/removermodulo",
            processData: false,
            data: 'modulo=' + id,
            beforeSend: function() {
                var pos = $("#codsis").position();
                var width = $("#codsis").width();
                $('#wait').html('Removendo módulo...').slideDown();
            },
            success: function(msg) {
                $('#wait').fadeOut('fast');
                $('#span_' + id).fadeOut('slow');
                $('#span_' + id).remove();

            }
        });
    }
    $(".removivel").click(function() {
        remove(this);
        return false;
    });
    $('#addcontato').click(function() {
        if ($('#newcontato').is(':visible')) {
            $('#newcontato').slideUp();
        } else {
            $('#newcontato').slideDown();
        }
        return false;
    });

    $('#codsis').change(function() {
        $.ajax({
            url: "/modulos/index",
            processData: false,
            data: 'sistema=' + $('#codsis').val() + '&cliente=' + $('#id').val(),
            beforeSend: function() {
                var pos = $("#codsis").position();
                var width = $("#codsis").width();
                $('#wait').html('Carregando módulos...').slideDown();
            },
            success: function(msg) {
                $('#codmod option').remove();
                $('#codmod').append("<option value=''>Selecione o Módulo...</option>")
                for (i = 0; i < msg.length; i++) {
                    $('#codmod').append("<option value='" + msg[i].id + "'>" + msg[i].descricao + "</option>")
                }
                $('#wait').fadeOut('fast');
            }
        });
    });
        
    $('#submitcon').click(function() {
        if ($('#idcontato').val() == '') {
            var url = "/contato/criar";
        } else {
            var url = "/contato/editar";
        }
        $.ajax({
            url: url,
            processData: false,
            data: 'idcontato=' + $('#idcontato').val() + '&idcolaborador=' + $('#idcolaborador').val() + '&dsnome=' + $('#dsnome').val() +
                    '&idsetor=' + $('#idsetor').val() + '&dsemail=' + $('#dsemail').val() + '&dstelefone=' + $('#dstelefone').val() +
                    '&dscelular=' + $('#dscelular').val() + '&dscomunicador=' + $('#dscomunicador').val() + '&idcomunicador=' + $('#idcomunicador').val() +
                    '&ativo=' + $('form#contato dl.zend_form div.form_element input#ativo').is(':checked'),
            beforeSend: function() {
                var pos = $("#submitcon").position();
                var width = $("#submitcon").width();
                $("#ajax-ldr").css({
                    "left": (pos.left + width + 20) + "px",
                    "top": pos.top + "px"
                });
                $("#ajax-ldr").show();
            },
            success: function(msg) {
                if ($('#idcontato').val() == '') {
                    $('#contatos tbody')
                            .append($('<tr>')
                            .append($('<td>').text(' '))
                            .append($('<td>').text($('#dsnome').val()))
                            .append($('<td>').text($('#dstelefone').val()))
                            .append($('<td>').text($('#dscelular').val()))
                            .append($('<td>').text($('#dsemail').val()))
                            .append($('<td>').text($('#idsetor option:selected').text()))
                            );
                } else {
                    var check = '';
                    if ($('form#contato dl.zend_form div.form_element input#ativo').attr('checked')) {
                        check = 'Ativo';
                    } else {
                        check = 'Inativo';
                    }
                    //$('#tr_' + $('#idcontato').val() + ' td').remove();
                    $('#tr_' + $('#idcontato').val()+' :nth-child(1)').text(' ');
                    $('#tr_' + $('#idcontato').val()+' :nth-child(2)').text($('#dsnome').val());
                    $('#tr_' + $('#idcontato').val()+' :nth-child(3)').text($('#dstelefone').val());
                    $('#tr_' + $('#idcontato').val()+' :nth-child(4)').text($('#dscelular').val());
                    $('#tr_' + $('#idcontato').val()+' :nth-child(5)').text($('#dsemail').val());
                    $('#tr_' + $('#idcontato').val()+' :nth-child(6)').text(check);
                }
                $('#ajax-ldr').fadeOut('fast');
                $('#newcontato').slideUp();
            }
        });
        return false;
    });

    $('.editavel').click(function() {
        var aux = $(this).attr('id');
        $.ajax({
            url: "/contato/editar",
            processData: false,
            type: 'GET',
            data: 'id=' + aux,
            beforeSend: function() {
                //var pos = $(this).position();
                //var width = $(this).width();
                //$("#ajax-ldr").css( { "left": (pos.left+width+20) + "px", "top":pos.top + "px" } );
                //$("#ajax-ldr").show();
            },
            success: function(msg) {
                //$('#ajax-ldr').fadeOut('fast');
                $('#idcontato').val(msg[0].idcontato);
                $('#dsnome').val(msg[0].dsnome);
                $('#idsetor').val(msg[0].idsetor);
                $('#dsemail').val(msg[0].dsemail);
                //$('#newcontato').checked = false;
                if (msg[0].ativo) {
                    //alert(msg[0].ativo);
                    //form#contato dl.zend_form div.form_element input#ativo
                    $('form#contato dl.zend_form div.form_element input#ativo').attr('checked', true);
                }
                else {
                    //alert(msg[0].ativo);
                    $('form#contato dl.zend_form div.form_element input#ativo').attr('checked', false);
                }
                //$('#ativo').attr('checked',msg[0].ativo);
                $('#dstelefone').val(msg[0].dstelefone);
                $('#dscelular').val(msg[0].dscelular);
                $('#dscomunicador').val(msg[0].dscomunicador);
                $('#idcomunicador').val(msg[0].idcomunicador);
                $('#submitcon').val('Atualizar');
                $('#newcontato').slideDown();
            }
        });
        return false;
    });

    $('textarea.somostra').tinymce({
        script_url: '/js/tiny_mce/tiny_mce.js',
        readonly: true,
        theme: "advanced",
        theme_advanced_resizing: true,
        content_css: "css/content.css"
    });
    $('#btn_atualizar').click(function() {
        var ed = $('#dadostec').val();
        var forma = $('#formauso').val();
        $.post('/clientes/dadostec', {id: $("#id").val(), dadostec: ed, formaUso: forma}, function() {
            return true;
        });
    })
    $('textarea.tinymce').tinymce({
        // Location of TinyMCE script
        script_url: '/js/tiny_mce/tiny_mce.js',
        // General options
        theme: "advanced",
        //plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",

        // Theme options
        theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,fontselect,fontsizeselect,|,forecolor,backcolor",
        theme_advanced_buttons2: '',
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        theme_advanced_resizing: true,
        // Example content CSS (should be your site CSS)
        //content_css : "css/content.css",

        // Drop lists for link/image/media/template dialogs
        //template_external_list_url : "lists/template_list.js",
        //external_link_list_url : "lists/link_list.js",
        //external_image_list_url : "lists/image_list.js",
        //media_external_list_url : "lists/media_list.js",

        // Replace values for the template plugin
        //template_replace_values : {
        //    username : "Some User",
        //    staffid : "991234"
        //}
    });
});
